package com.example.easyexcel.enums;

import lombok.Getter;

@Getter
public enum OkOverSeanMsgEnum {
    // twilo
    M_ACCEPTED("accepted","已被接收","M_ACCEPTED","已被接收"),
    M_QUEUED("queued","排队中","M_QUEUED","排队中"),
    M_SENDING("sending","发送中","M_SENDING","发送中"),
    M_SENT("sent","已发送","M_SENT","已发送"),
    M_FAILED("failed","失败","M_FAILED","失败"),
    M_DELIVERED("delivered","已投递","M_DELIVERED","已投递"),
    M_UNDELIVERED("undelivered","未投递","M_UNDELIVERED","未投递"),
    M_RECEIVING("receiving","接收中","M_RECEIVING","接收中"),
    M_RECEIVED("received","已接收","M_RECEIVED","已接收"),
    M_READ("read","已读","M_READ","已读"),

    // telesign
    M_200("200","传送到手机","M_SUCCESS","成功"),
    M_201("201","消息已读","M_SUCCESS","成功"),
    M_203("203","传送到网关","M_SENDING","发送中"),
    M_207("207","将 SMS 传送到手机时出错（原因未知）","M_PHONE_DOWN_EMPTY_OFF_ERROR","关机或空号或停机"),
    M_210("210","空号或关机或停机","M_PHONE_DOWN_EMPTY_OFF_ERROR","关机或空号或停机"),
    M_211("211","黑名单","M_BLACK_LISERROR","黑名单"),
    M_251("251","消息成功发出送达，但未收到送达至手机的最终确认","M_SENT","已发送"),
    M_290("290","消息进行中","M_SENT","已发送"),
    M_291("291","TeleSign 排队","M_QUEUED","排队中"),
    M_292("292","按网关排队","M_QUEUED","排队中"),
    M_3000("3000","已投递","M_DELIVERED","已投递"),
    M_3001("3001","消息进行中","M_SENDING","发送中"),
    M_3002("3002","交付到网关","M_SENDING","发送中"),
    M_3004("3004","消息成功发出送达，但未收到送达至手机的最终确认","M_SENT","已发送"),
    M_3005("3005","消息已读","M_SUCCESS","成功"),
    M_3030("3030","临时电话错误","M_TERMINAL_ERROR","终端异常"),
    M_3031("3031","永久电话错误","M_TERMINAL_ERROR","终端异常"),
    M_3037("3037","消息在请求的国家被阻止","M_SENT","已发送"),
    M_3038("3038","目的地被前缀阻止","M_BLACK_LISERROR","黑名单"),
    M_3039("3039","最终状态未知","M_BLACK_LISERROR","黑名单"),
    M_3040("3040","按网关排队","M_QUEUED","排队中"),
    M_3046("3046","消息被订阅者操作​​或请求阻止","M_UNSUBSCRIBE_ERROR","退订异常"),
    M_3107("3107","参数 phone_number 的国家/地区代码无效","M_PHONE_NUMBER_EMPTY_ERROR","空号"),
    M_3204("3204","超过限速","M_RATE_OF_FLOW_ERROR","流量限制"),
    M_3205("3205","超过限速","M_RATE_OF_FLOW_ERROR","流量限制"),
    ;
    OkOverSeanMsgEnum(String code, String msg, String commonCode, String commonMsg){
        this.code = code;
        this.msg = msg;
        this.commonCode = commonCode;
        this.commonMsg = commonMsg;
    }

    private String code;
    private String msg;
    private String commonCode;
    private String commonMsg;
}
